// 引入用来发送请求的  方法 一定要把路径补全
import { request } from "../../request/index.js"
import regeneratorRunTime from '../../lib/runtimie/runtimie'


Page({
  /**
   * 页面的初始数据
   */
  data: {
    swiperList: [],
    categoryList: [],
    current: 1,
    limit: 10,
    goodsList: [],
    isOver: false,
    indexLoadingShow: false

  },
  handlegoodsitemtap(e) {
    // console.log(e);
    let spuId=e.currentTarget.dataset.id;
    console.log(spuId);
  },
  onReachBottom() {
    this.setData({
      current: this.data.current += 1,
      indexLoadingShow: true
    })
    this.getGoodsList();
  },
  onLoad() {
    this.indexInit();
  },

  async indexInit() {
    // 从缓存获取缓存数据
    let swipers = wx.getStorageSync('swipers')//null=false
    // 如果缓存不存在，或者缓存超时
    if (!swipers || Date.now() - swipers.time > 10 * 1000) {
      // 从接口获取数据
      await this.getSwiperList();
    } else {
      // 否则直接把从缓存获取的数据放入data使用
      this.setData({
        swiperList: swipers.data
      })
    }
    await this.getCateList();
    await this.getGoodsList();
    //  this.getCateList();
    //  this.getGoodsList();

  },


  // 定义获取轮播图数据的方法 
  async getSwiperList() {
    // 使用async  await 发送异步请求  实现
    const res = await request({ url: '/fenxiaoback01/indexfront/getIndexFrontInfo' })
    console.log("getSwiperList.......");
    this.setData({
      // swiperList: res.bannerlist
      swiperList: res.bannerlist
    })
    // 把接口的数据存入到本地存储中
    wx.setStorageSync('swipers', { time: Date.now(), data: this.data.swiperList })
  },

  // 获取分类导航数据
  async getCateList() {
    await request({ url: "/fenxiaoback01/indexfront/getIndexFrontInfo" }).then(res => {
      console.log("getCateList.......");
      // console.log(res.categoryList);  
      this.setData({
        categoryList: res.categoryList
      })
    })
  },
  // 获取商品列表
  async getGoodsList() {
    // 如果结束查询标识isOver的值为true，说明后端已经查询不到数据了。以后直接return结束方法，不在去查询
    if (this.data.isOver) {
      return;
    }
    await request({ url: '/fenxiaoback01/indexfront/getIndexFrontInfopage/' + this.data.current + '/' + this.data.limit }).then(res => {
      // 如果查询到的商品列表为空，修改结束查询标识isOver的值为true
      console.log("getGoodsList......");
      if (res.indexSpuVos.length === 0) {
        this.setData({
          indexLoadingShow: res.indexSpuVos.length === 0 ? false : true,
          isOver: true
        })
        return
      }
      this.setData({
        goodsList: [...this.data.goodsList, ...res.indexSpuVos],
        indexLoadingShow: false
      })
    })
  }
})